﻿<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!-- Registered priorities -->
  <priorities>
    <priority value="1" association="left" />
    <priority value="2" association="right" />
    <priority value="3" association="left" />
    <priority value="4" association="left" />
    <priority value="5" association="right" />
  </priorities>

  <!-- Registered operations -->
  <operations>
    <operation name="powering" operands="2" kind="operator" priority="1">
      <signatures>
        <signature number="1" value="^" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorPowering" />
    </operation>
    <operation name="negation" operands="1" kind="operator" priority="2">
      <signatures>
        <signature number="1" value="-" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorNegation" />
    </operation>
    <operation name="positivation" operands="1" kind="operator" priority="2">
      <signatures>
        <signature number="1" value="+" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorPositivation" />
    </operation>
    <operation name="multiplication" operands="2" kind="operator" priority="3">
      <signatures>
        <signature number="1" value="*" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorMultiplication" />
    </operation>
    <operation name="division" operands="2" kind="operator" priority="3">
      <signatures>
        <signature number="1" value="/" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorDivision" />
    </operation>
    <operation name="addition" operands="2" kind="operator" priority="4">
      <signatures>
        <signature number="1" value="+" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorAddition" />
    </operation>
    <operation name="subtraction" operands="2" kind="operator" priority="4">
      <signatures>
        <signature number="1" value="-" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorSubtraction" />
    </operation>
    <operation name="conditional" operands="3" kind="operator" priority="5">
      <signatures>
        <signature number="1" value="?" />
        <signature number="2" value=":" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorConditional" />
    </operation>

    <!-- Functions -->
    <operation name="sinus" operands="1" kind="function">
      <signatures>
        <signature number="1" value="sin" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorSinus" />
    </operation>
    <operation name="cosinus" operands="1" kind="function">
      <signatures>
        <signature number="1" value="cos" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorCosinus" />
    </operation>
    <operation name="tangent" operands="1" kind="function">
      <signatures>
        <signature number="1" value="tg" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorTangent" />
    </operation>
    <operation name="logarithm" operands="1" kind="function">
      <signatures>
        <signature number="1" value="ln" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorLogarithm" />
    </operation>
    <operation name="logarithm10" operands="1" kind="function">
      <signatures>
        <signature number="1" value="log" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorLogarithm10" />
    </operation>
    <operation name="signum" operands="1" kind="function">
      <signatures>
        <signature number="1" value="sign" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorSignum" />
    </operation>
    <operation name="sqrt" operands="1" kind="function">
      <signatures>
        <signature number="1" value="sqrt" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorSqrt" />
    </operation>
    <operation name="exponent" operands="1" kind="function">
      <signatures>
        <signature number="1" value="exp" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorExponent" />
    </operation>
    <operation name="absolute" operands="1" kind="function">
      <signatures>
        <signature number="1" value="abs" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorAbsolute" />
    </operation>
    <operation name="arctangent" operands="1" kind="function">
      <signatures>
        <signature number="1" value="arctg" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorArctangent" />
    </operation>
    <operation name="arccosinus" operands="1" kind="function">
      <signatures>
        <signature number="1" value="arccos" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorArccosinus" />
    </operation>
    <operation name="arcsinus" operands="1" kind="function">
      <signatures>
        <signature number="1" value="arcsin" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorArcsinus" />
    </operation>
    <operation name="round" operands="1" kind="function">
      <signatures>
        <signature number="1" value="round" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorRound" />
    </operation>
    <operation name="ceil" operands="1" kind="function">
      <signatures>
        <signature number="1" value="ceil" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorCeil" />
    </operation>
    <operation name="floor" operands="1" kind="function">
      <signatures>
        <signature number="1" value="floor" />
      </signatures>
      <calculator type="MathCompiler.Calculators.Standard.CalculatorFloor" />
    </operation>
  </operations>
</configuration>